/**
 * 时间格式化
 * @param { String } time 当前时间
 * @param { String } type 0-精确到日 1-精确到秒 
 */
const formatting = (time,type) => {
  var time = new Date(time);
    var y = time.getFullYear();
    var m = time.getMonth() + 1;
    var d = time.getDate();
    y = y >= 10 ? y : '0' + y
    m = m >= 10 ? m : '0' + m
    d = d >= 10 ? d : '0' + d
    var formatTime = y + '.' + m + '.' + d
    if(type == 0){
      return formatTime
    }
    else if(type == 1){
      var h = time.getHours();
      var mm = time.getMinutes();
      var s = time.getSeconds();
      h = h >= 10 ? h : '0' + h
      mm = mm >= 10 ? mm : '0' + mm
      s = s >= 10 ? s : '0' + s
      return formatTime + ' ' + h + ':' + mm + ':' + s;
    }
	else{
		var h = time.getHours();
		var mm = time.getMinutes();
		var s = time.getSeconds();
		h = h >= 10 ? h : '0' + h
		mm = mm >= 10 ? mm : '0' + mm
		s = s >= 10 ? s : '0' + s
		return  h + ':' + mm ;
	}
}
/**
 * 文字轻提示
 * @param { String } 提示文字 
 * @param { Number } icon 提示icon
 * @param { Number } duration 提示时间
 */
const alert = (str, icon = 0, duration = 1500) => {
  uni.showToast({
    title: str + '',
    icon: ['none', 'success', 'loading'][icon],
    duration: duration
  })
}
/**
 * loading加载
 * @param { String } str 加载文案
 * @param {*} mask 
 */
const loading = (str = ' ', mask = true) => {
  uni.showLoading({
    title: str,
     mask: mask
  })
}
/**
 * 关闭loading提示框
 */
const loading_h = () => {
  uni.hideLoading()
}


/**
 * 可返回跳转
 * @param { String } url 页面地址
 */
const jump_nav = url => {
  uni.navigateTo({
    url: url
  })
}
/**
 * 不可返回跳转
 * @param { String } url 页面地址
 */
const jump_red = url => {
  uni.redirectTo({
    url: url
  })
}
/**
 * 清除页面栈跳转
 * @param { String } url 页面地址
 */
const jump_rel = url => {
  uni.reLaunch({
    url: url
  })
}
/**
 * 跳转tabBar页
 * @param { String } url 页面地址
 */
const jump_swi = url => {
  uni.switchTab({
    url: url
  })
}
/**
 * 返回上一页面
 * @param { Number } delta 返回层级
 */
const jump_back = (delta) => {
  uni.navigateBack({ delta })
}
/**
 * 操作本地缓存
 * @param { String } key 缓存键值
 * @param { String } value 缓存数据
 */
const storage = (key, value) => {
  if (value != null) {
    uni.setStorageSync(key, value)
  } else {
    if (key == null) {
      return uni.getStorageInfoSync()
    } else {
      if (key != '#') {
        if (key[0] == '#') {
          uni.removeStorageSync(key.slice(1))
        } else {
          return uni.getStorageSync(key)
        }
      } else if (key == '#') {
        uni.clearStorageSync()
      }
    }
  }
}

module.exports = {
	formatting,
  alert,
  loading,
  loading_h,
  jump_nav,
  jump_red,
  jump_rel,
  jump_swi,
  jump_back,
  storage,
}